/*
 * vim:foldmethod=marker:
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>

#define N_MAX 100

int
main(void)
{
	static int AM[N_MAX][N_MAX];
	int n, m, i, j, l, r;

	scanf("%d%d", &n, &m);
	for (i = 0; i < m; i++) {
		(void) scanf("%d %d", &l, &r);
		l--,r--;
		AM[l][r]++;
		AM[r][l]++;
	}

	r = l = 0;
	for (i = 0; i < n; i++) {
		l = 0;
		for (j = 0; j < n; j++)
			if (AM[i][j])
				l++;

		if (i && l != r) {
			puts("NO");
			return 0;
		} else if (i == 0) {
			r = l;
		}
	}

	puts("YES");
	return 0;
}
